The present invention relates to a three-dimensional (3D) image generating method and an apparatus using the same in which a 3D objects is projected according to volume data representing the 3D objects onto a two-dimensional (2D) plane to generate and to display the obtained 3D image, and in particular, to a 3D image generating method and an apparatus using the same in which the 3D image generating process is subdivided into two or more processes to be assigned to a plurality of processors.
The fundamental principle of the rendering method associated with the present invention has been described in the U.S. patent application Ser. No. 08/415,941 filed on Apr. 3, 1995 now U.S. Pat. No. 5,630,034 and entitled "Three-Dimensional Image Producing Method and Apparatus".
Technologies of creating 3D images have been heretofore broadly utilized in various fields including medical applications. In this connection, according to the 3D image producing technology, a 3D contour defined by values of 3D data (also called volume data) is projected onto a 2D projection plane to attain a 2D image representing the 3D picture. The resultant image is naturally of two dimensions and hence is a quasi-3D image, however, is generally called "3D image". Therefore, the term "3D image" is also used in this meaning in the present application.
The known technologies to create and to display the 3D image includes the volume rendering technology described in pages 29 to 37 of "Display of Surface from Volume Data" described by M. LeVoy in the IEEE CG & A, Vol. 8, No. 5 (1988).
According to the volume rendering technology, volume data is considered to include a set of voxels, i.e., quite small semi-transparent cuboids. For each voxel, there is defined opacity as a degree of change in the amount of light passing therethrough. In this regard, there is assumed a model in which a light emitted from a 2D projection plane passes through the volume data so as to attain the quantity or amount of light reflected by voxels due to opacity thereof, thereby attaining a projected image on the 2D plane. To calculate the reflection due to each voxel, it is assumed that a virtual surface is present at its position. The reflection is calculated as the total of the diffused reflection, mirror specular reflection, and environmental reflection. The virtual surface has a gradient called grey level gradient, which is represented by a gradient in the voxel value.
To generate the 3D image in this manner, there is required quite a long period of processing time due to, for example, the large amount of data. It has consequently been proposed to use a plurality of processors to increase the 3D generation speed.
For example, according to the technology described in pages 45 to 55 of an article entitled "Parallel Visualization Algorithms: Performance and Architectural Implication" written by Jaswinder Pal Singh et al in the "Computer" published in July 1994, the overall region of the projection plane in which pixel values are to be obtained is subdivided into as many subregions as there are processors. The pixel values are calculated by the processors for the respective subregions. In the operation, the region is further partitioned into subareas according to tasks such that when a processor assigned with a subregion completes its operation to attain all pixel values of the subregion, the processor can execute a task assigned to another processor executing another process. This resultantly equalizes the processing amounts of the respective processors and enhances the efficiency of concurrent processing.
In addition, conventionally, after 3D data is measured for one data set, the 3D image is displayed for the data set at a time. That is, when displaying a 3D image of volume data just received, one data set of the preceding volume data is completely replaced with that of the succeeding volume data.
In the 3D image display operation according to the volume rendering method, quite a large volume of calculations and computations as well as a long period of processing time are required. Using the technology of the "Parallel Visualization Algorithms" above, the process can be achieved by a plurality of processors in a distributed manner and hence the processing time is reduced as the number of processors is increased. However, the processes are not uniformly allocated to the respective processors in this method. This consequently arises a problem of a complex control operation under which each processor monitors the operating states of the other processors for the efficient process distribution.
Furthermore, in the system achieving operations ranging from acquisition of volume data to presentation of the 3D image, the image display is carried out after all data is completely received. This leads to a problem of a long period of time from when the volume data is received to when the image is displayed.
Additionally, in the replacement of volume data, the rendering parameters beforehand set to the system are restored to the original values. This means that each time the 3D image display is conducted for one data set, it is necessary to set the rendering parameters again to the system. This arises a problem that the images cannot be successively displayed when the measured volume data is sequentially received.